using System;
using System.Collections.Generic;
using System.Text;

namespace Axe.Patterns
{
    public abstract class OwnedBy<T> where T:class
    {
        private T m_ClassOwner = null;

        #region public T Owner
        /// <summary>
        /// Gets or sets the owner.
        /// </summary>
        /// <value>The owner.</value>
        public T Owner
        {
            get
            {
                return m_ClassOwner;
            }
            protected set
            {
                m_ClassOwner = value;
            }
        } 
        #endregion

        public OwnedBy(T owner)
        {
            Owner = owner;
        }
    }
}
